package cn.rkylin.oms.warehouse.stockGoods.dao;

import cn.rkylin.oms.warehouse.stockGoods.vo.StockGoodsExportVO;
import com.github.pagehelper.PageInfo;

import cn.rkylin.oms.warehouse.stockGoods.domain.StockGoods;
import cn.rkylin.oms.warehouse.stockGoods.vo.StockGoodsVO;

import java.util.List;
import java.util.Map;


/**
 * 库存汇总DAO接口
 * @author zhangheng
 * @date 2018/01/23
 */
public interface IStockGoodsDAO{

    /**
     * selectPagedByCondition：根据查询条件获取商品库存汇总信息列表
     *
     * @param page
     * @param length
     * @param queryParamVO
     * @return
     * @throws Exception
     */
    public PageInfo<StockGoodsVO> selectPagedByCondition(int page, int length, StockGoodsVO queryParamVO) throws Exception;
    /**
     * getStockGoodsLocaStorInfo:查询商品本地库各个仓库存储情况
     *
     * @param queryParamVO
     * @return
     * @throws Exception
     */
    public List<StockGoodsVO> getStockGoodsLocaStorInfo(StockGoodsVO queryParamVO) throws Exception;

    /**
     * getStockGoodsExtStorInfo:查询商品第三方库各个仓库存储情况
     *
     * @param queryParamVO
     * @return
     * @throws Exception
     */
    public List<StockGoodsVO> getStockGoodsExtStorInfo(StockGoodsVO queryParamVO) throws Exception;

    /**
     * selectDetailByPrimaryKey:查询商品各个仓库存储情况. <br/>
     *
     * @author zhanghang
     * @param goodsId
     * @return
     * @throws Exception
     */
    public StockGoodsVO selectDetailByPrimaryKey(String goodsId) throws Exception;

    public List<StockGoodsExportVO> getExportList(Map reqMap, String statement) throws Exception;
}